function maxSubArray(nums: number[]): number {
    let i=0,total = 0;
    while(i<nums.length && nums[i]<=0){
        total += nums[i];
        i++;
    }
    if(i === nums.length){
        return Math.max(...nums);
    }
    total = 0 ;
    let ret = -Infinity;
    while(i<nums.length){
        total += nums[i];
        if(total<0){
            total = 0;
        }
        else{
            ret = Math.max(ret,total);
        }
        i++;
    }
    return ret;
};


// 执行用时：
// 76 ms
// , 在所有 TypeScript 提交中击败了
// 98.85%
// 的用户
// 内存消耗：
// 42.3 MB
// , 在所有 TypeScript 提交中击败了
// 90.80%
// 的用户